# Pydantic模型模块初始化文件
# 该文件使Python将schemas目录视为一个包(package)
# 包含应用的所有Pydantic数据验证模型

from pydantic import BaseModel
from typing import Optional
from datetime import datetime

class UserBase(BaseModel):
    """
    用户基础模型
    """
    username: str
    email: str

class UserCreate(UserBase):
    """
    创建用户模型
    """
    password: str

class UserUpdate(UserBase):
    """
    更新用户模型
    """
    pass

class UserInDB(UserBase):
    """
    数据库用户模型
    """
    id: int
    created_at: datetime
    updated_at: datetime
    is_active: bool
    
    class Config:
        from_attributes = True

class Token(BaseModel):
    """
    JWT令牌模型
    """
    access_token: str
    token_type: str

class TokenData(BaseModel):
    """
    JWT令牌数据模型
    """
    username: Optional[str] = None

from .kpl_stock import KPLStock, KPLStockCreate, KPLStockUpdate

__all__ = ["KPLStock", "KPLStockCreate", "KPLStockUpdate"]
